package com.ruoyi.project.propertySystem.service;

import java.util.List;

import com.ruoyi.framework.web.domain.server.TreeSelectInspectItem;
import com.ruoyi.project.propertySystem.domain.InspectItem;
import com.ruoyi.project.propertySystem.domain.vo.InspectItemRecordVO;

/**
 * 巡检项主Service接口
 * 
 * @author wangshuo
 * @date 2021-01-18
 */
public interface IInspectItemService 
{
    /**
     * 查询巡检项主
     * 
     * @param id 巡检项主ID
     * @return 巡检项主
     */
    public InspectItem selectInspectItemById(Long id);

    /**
     * 查询巡检项主列表
     * 
     * @param inspectItem 巡检项主
     * @return 巡检项主集合
     */
    public List<InspectItem> selectInspectItemList(InspectItem inspectItem);

    /**
     * 新增巡检项主
     * 
     * @param inspectItem 巡检项主
     * @return 结果
     */
    public int insertInspectItem(InspectItem inspectItem);

    /**
     * 修改巡检项主
     * 
     * @param inspectItem 巡检项主
     * @return 结果
     */
    public int updateInspectItem(InspectItem inspectItem);

    /**
     * 批量删除巡检项主
     * 
     * @param ids 需要删除的巡检项主ID
     * @return 结果
     */
    public int deleteInspectItemByIds(Long[] ids);

    /**
     * 删除巡检项主信息
     * 
     * @param id 巡检项主ID
     * @return 结果
     */
    public int deleteInspectItemById(Long id);

    List<TreeSelectInspectItem> selectInspectItemTree(Long formworkId);

    List<String> selectCheckItemByFormworkId(Long formworkId);

    List<InspectItemRecordVO> getInspectItemsByClassifyAndRecordId(Long classifyId, Long inspectRecordId);

    int saveInspectItems(InspectItemRecordVO inspectItemRecordVO);
}
